Controller কী এবং এর ভূমিকা

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Controllers |

Controller হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ। এটি অ্যাপ্লিকেশনের লজিক পরিচালনা করে এবং ModelView এর মধ্যে সংযোগ স্থাপন করে। Controller ব্যবহারকারীর অনুরোধ গ্রহণ করে, প্রয়োজন অনুযায়ী Model থেকে ডেটা সংগ্রহ করে এবং View-এর মাধ্যমে সেই ডেটা প্রদর্শন করে।


Controller কী?

Controller হলো একটি PHP ক্লাস, যা CodeIgniter ফ্রেমওয়ার্কের CI_Controller ক্লাস থেকে উত্তরাধিকারী। এটি অ্যাপ্লিকেশনের লজিক সংজ্ঞায়িত করে এবং ব্যবহারকারীর রিকোয়েস্ট অনুযায়ী সাড়া দেয়।

Controller এর প্রধান দায়িত্ব

  • রিকোয়েস্ট হ্যান্ডলিং: ব্যবহারকারীর ইনপুট গ্রহণ এবং প্রাসঙ্গিক রেসপন্স প্রদান।
  • ডেটা প্রক্রিয়াকরণ: প্রয়োজন হলে Model ব্যবহার করে ডেটা সংগ্রহ বা প্রসেস করা।
  • ভিউ লোড করা: প্রাসঙ্গিক View-এ ডেটা পাঠানো এবং আউটপুট তৈরি করা।

CodeIgniter এ Controller তৈরি

CodeIgniter এ Controller তৈরি করতে application/controllers ডিরেক্টরিতে একটি ক্লাস তৈরি করতে হয়। এই ক্লাসটি CI_Controller ক্লাস থেকে উত্তরাধিকারী হবে।

একটি সাধারণ Controller উদাহরণ:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index() {
        echo "Welcome to CodeIgniter!";
    }
}

Controller এর ভূমিকা

১. ব্যবহারকারীর রিকোয়েস্ট পরিচালনা

Controller ব্যবহারকারীর HTTP রিকোয়েস্ট (GET/POST) গ্রহণ করে এবং সেই অনুযায়ী কাজ করে।

উদাহরণ:

public function handle_request() {
    $name = $this->input->get('name');
    echo "Hello, " . $name;
}

২. Model এর মাধ্যমে ডেটা প্রসেস করা

Controller Model ব্যবহার করে ডাটাবেস থেকে ডেটা রিট্রিভ করে এবং ভিউতে পাঠায়।

উদাহরণ:

public function show_users() {
    $this->load->model('User_model');
    $data['users'] = $this->User_model->get_users();
    $this->load->view('users_list', $data);
}

৩. View এ ডেটা পাস করা

Controller প্রাসঙ্গিক View লোড করে এবং ডেটা পাঠায়।

উদাহরণ:

public function about_page() {
    $data['title'] = "About Us";
    $data['content'] = "This is the about page of our website.";
    $this->load->view('about', $data);
}

ডিফল্ট Controller

CodeIgniter একটি ডিফল্ট Controller সমর্থন করে, যা অ্যাপ্লিকেশনের মূল রুটে অ্যাক্সেস করলে প্রদর্শিত হয়। ডিফল্ট Controller সেট করার জন্য application/config/routes.php ফাইলে নিম্নলিখিত লাইনটি ব্যবহার করা হয়:

$route['default_controller'] = 'Welcome';

Controller এর বৈশিষ্ট্য

  1. ডাইনামিক মেথড: Controller ক্লাসের প্রতিটি মেথড একটি আলাদা পেজ বা ফাংশন হিসেবে কাজ করে।
  2. ডাটাবেস ইন্টিগ্রেশন: Controller Model এর মাধ্যমে ডাটাবেস থেকে ডেটা এনে প্রয়োজনীয় আউটপুট তৈরি করে।
  3. ইনপুট হ্যান্ডলিং: Controller ব্যবহারকারীর ইনপুট (যেমন GET, POST, COOKIE) সঠিকভাবে প্রক্রিয়া করতে পারে।
  4. ভিউ কন্ট্রোল: প্রাসঙ্গিক View লোড এবং প্রক্রিয়াকরণ পরিচালনা করে।

Controller এর সুবিধা

  • কোডের রক্ষণাবেক্ষণ সহজ: লজিক এবং উপস্থাপনাকে আলাদা করার কারণে কোড পড়া এবং আপডেট করা সহজ হয়।
  • ডেভেলপমেন্ট দ্রুত হয়: বিভিন্ন ফাংশন পৃথক মেথডে ভাগ করার ফলে কাজ দ্রুত হয়।
  • মডুলার স্ট্রাকচার: অ্যাপ্লিকেশনের ফাংশনালিটি মডুলার করা যায়, যা রিইউজেবিলিটি বাড়ায়।

Controller হলো CodeIgniter এর একটি অপরিহার্য অংশ, যা অ্যাপ্লিকেশন লজিক পরিচালনা এবং Model ও View এর মধ্যে সেতু হিসেবে কাজ করে। এটি ব্যবহারকারীর রিকোয়েস্ট গ্রহণ করে, প্রয়োজনীয় ডেটা প্রক্রিয়া করে এবং ভিউতে আউটপুট প্রদান করে।

Content added By
Promotion